<script type='text/javascript' language='javascript'>
//VARS
var url_base = "{url_base}";
var quant_list = '{quant_list}'; // valor vindo do parser do controller
var path_img_user = "<?php echo $this->config->item('path_img_user'); ?>"; // valor vindo do parser do controller

$(document).ready(function(){
    /**
     * Verifica se deve abrir o form de acordo com algumas condições
     */
    if(($("#messege-alert").hasClass("erro") && window.location.toString() == url_base + 'multa/atualizar') || ($("#messege-alert").hasClass("aviso") && window.location.toString() == url_base + 'multa/atualizar')){
        show_form('edit');
    }else if(($("#messege-alert").hasClass("erro") && window.location.toString() == url_base + 'multa/cadastrar') || ($("#messege-alert").hasClass("aviso") && window.location.toString() == url_base + 'multa/cadastrar')){
        show_form('insert');
    }else if(getQueryVariable('aplicar')){ // Verifica se existe a variavel GET aplicar
        var codigoUser = getQueryVariable('aplicar');
        $("#loading-data").fadeIn();

        /**
         *  Seleciona o usuário do empréstimo
         */
        $.ajax({
            url: '{url_base}usuario/get_user_json',
            type:'POST',
            dataType: 'json',
            data: { idUsuario: codigoUser },
            success: function(data){
                $('#usuario_id').val(data.usuario.id);
                $('#usuario').val(data.usuario.nome + ' ' + data.usuario.sobrenome);
            }
        }); 
        
        /**
         *  Seleciona os empréstimos do usuário
         */
        get_loan_user(codigoUser);
        
        show_form("insert");
    }else if(getQueryVariable('editar')){ 
        get_fine(getQueryVariable('editar')); // Abre o form para edição
    }
   
    /** MASCARAS **/
    $("#data_cobranca, #data_pagamento").mask("99/99/9999");
    $("#valor").maskMoney();
    
    /** DATA Cobrança e Pagamento**/
    $( "#data_cobranca, #data_pagamento" ).datepicker({
        dateFormat: 'dd/mm/yy'
    });
                                
    /**
     * Filtrar dados do dataGrid pelo código
     */
    $(".codigo").click(function() {
        if(window.location.toString() == url_base + 'multa/listar/cod/1/' + quant_list){
            window.location = url_base + 'multa/listar/cod/2/' + quant_list;
        }else {
            window.location = url_base + 'multa/listar/cod/1/' + quant_list;
        }
        return false;
    });

    /**
     * Filtrar dados do dataGrid pelo nome
     */
    $(".usuario").click(function() {
        if(window.location.toString() == url_base + 'multa/listar/user/1/' + quant_list){
            window.location = url_base + 'multa/listar/user/2/' + quant_list;
        }else {
            window.location = url_base + 'multa/listar/user/1/' + quant_list;
        }
        return false;
    });
    
    /**
     * Filtrar dados do dataGrid pelo nome
     */
    $(".valor").click(function() {
        if(window.location.toString() == url_base + 'multa/listar/valor/1/' + quant_list){
            window.location = url_base + 'multa/listar/valor/2/' + quant_list;
        }else {
            window.location = url_base + 'multa/listar/valor/1/' + quant_list;
        }
        return false;
    });
    
    /**
     * Filtrar dados do dataGrid pela data_cobranca
     */
    $(".dta_cobranca").click(function() {
        if(window.location.toString() == url_base + 'multa/listar/data_cobranca/1/' + quant_list){
            window.location = url_base + 'multa/listar/data_cobranca/2/' + quant_list;
        }else {
            window.location = url_base + 'multa/listar/data_cobranca/1/' + quant_list;
        }
        return false;
    });
    
    /**
     * Filtrar dados do dataGrid pela data_pagamento
     */
    $(".dta_pagamento").click(function() {
        if(window.location.toString() == url_base + 'multa/listar/data_pagamento/1/' + quant_list){
            window.location = url_base + 'multa/listar/data_pagamento/2/' + quant_list;
        }else {
            window.location = url_base + 'multa/listar/data_pagamento/1/' + quant_list;
        }
        return false;
    });

    /**
     * Filtrar dados do dataGrid pelo status
     */
    $(".status").click(function() {
        if(window.location.toString() == url_base + 'multa/listar/status/2/' + quant_list){
            window.location = url_base + 'multa/listar/status/1/' + quant_list;
        }else {
            window.location = url_base + 'multa/listar/status/2/' + quant_list;
        }
        return false;
    });
    
   /** Filtra dados QUANTIDADE **/
   $(".filter_quant").change(function() {
       window.location = url_base + 'multa/listar/cod/2/' + $(this).val();
       return false;
   });
   
    /**
     * fecha formulario
     */
    $('#bt_cancel').click(function(){
        $("#form-insert").fadeOut();
        scroll_to('#page-content');
    });
    
    /** Autocomplete para Usuario **/
    $('#usuario').autocomplete({
        source: url_base + "usuario/auto_complete_usuario",
        minLength: 2,      
        multiple: true,
        mustMatch: true,
        autoFill: true,
        select: function( event, ui ) {
           $('#usuario_id').val(ui.item.id);
           
           /** Abre o box emprestimo quando necessário */
           $('#tipo_multa').each(function() {
                if($(this).val() != 1) {
                    get_loan_user(ui.item.id);
                }else {
                    $('.emprestimo').fadeOut();
                }
           });
        }
    }).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
      return $( "<li>" )
        .append('<a><span style="float: left; padding-right: 5px;"><img src="' + url_base + path_img_user + item.image + '" width="30" height="35"/></span><strong>' + item.value + '</strong><br />' + item.email + '</a>')
        .appendTo( ul );
    };
    
    /** Limpa o campo usuario_id caso seja selecionado e depois removido **/
    $('#usuario').keydown(function(){
        $('#usuario').val() == "" ? $('#usuario_id').val("") : "";
    });
    
    /** Abre Abre o box data_pagamento caso o status seja marcado como inativa */
    $('#status').change(function() {
        if($(this).val() == 0) {
            $('#data_pagamento').val("");
            $('.data_pagamento').fadeIn();
        }else {
            $('.data_pagamento').fadeOut();
        }
    });
    
    /** Abre Abre o box emprestimo quando necessário */
    $('#tipo_multa').change(function() {
        if($(this).val() != 1) {
            $('.emprestimo').fadeIn();
        }else{
            $('.emprestimo').fadeOut();
        }
    });
    
});


/**
 * Retorna do controller a multa selecionado para edição
 */
function get_fine(codigo){
    $("#loading-data").fadeIn();

    $.ajax({
        url: '{url_base}multa/get_fine_json',
        type:'POST',
        dataType: 'json',
        data: { idMulta: codigo },
        success: function(data){
            $("#loading-data").fadeOut();
            $('#messege-alert').fadeOut();
            $('.box_infor').hide();
            $('.fine_infor').fadeIn();
            $("#codigo").val(data.multa.id);
            $("#usuario").val(data.multa.usuario.nome + ' ' + data.multa.usuario.sobrenome);
                $(".user").hide();
                $(".infor_user").html('Usuário multado:<h2>' + data.multa.usuario.nome + ' ' + data.multa.usuario.sobrenome + '</h2><br />');
                $(".infor_user").show();
            $("#valor").val(data.multa.valor);
            $("#descricao").val(data.multa.descricao);
            $("#data_cobranca, #data_cobranca_ori").val(data.multa.data_cobranca);
            data.multa.data_pagamento != null ? $("#data_pagamento, #data_pagamento_ori").val(data.multa.data_pagamento) : '';
            //Select status
            if(data.multa.status == 0){
                $("#status")[0].selectedIndex = 1;
                $(".data_pagamento").show();
            }else{
                $("#status")[0].selectedIndex = 0;
                $(".data_pagamento").hide();
            }
            
            $(".emprestimo span").html(data.emprestimos_user);
            
            show_form("edit");
        },
        error: function (data){ //Erro do back-end
            $("#loading-data").fadeOut();
            $("#form-insert").hide('slow');
            $("#show-alert").html(erro_message());
            scroll_to("#page-content");
        }
    }); 
}

function get_history_fine(){
    $("#loading-data").fadeIn();

    $.ajax({
        url: '{url_base}multa/get_history_fine_json',
        dataType: 'json',
        success: function(data){
            $('.box_infor').fadeIn();
            $("#loading-data, #form-insert, #messege-alert").fadeOut();
            $('.infor_content table tbody').html(data.enquiries_table);
            $('.total_pago').html(' R$ ' + data.total_pago);
            $('.total_nao_pago').html(' R$ ' + data.total_nao_pago);
            $('.periodo').html(' ' + data.periodo);
            scroll_to(".box_infor");
        },
        error: function (data){ //Erro do back-end
            $("#loading-data").fadeOut();
            $("#form-insert").hide('slow');
            $("#show-alert").html(erro_message());
            scroll_to("#page-content");
        }
    }); 
}

/**
 * Retorna os empréstimo do usuário
 */
function get_loan_user(codigo){
    $("#loading-data").fadeIn();

    $.ajax({
        url: '{url_base}emprestimo/get_loan_user_json',
        type:'POST',
        dataType: 'json',
        data: { idUsuario: codigo },
        success: function(data){
            $("#loading-data").fadeOut();
            $('.emprestimo').fadeIn();
            $('.emprestimo span').html(data.emprestimos_user);
            if(getQueryVariable('emp')){
                $('#emprestimo').val(getQueryVariable('emp')); 
            }
        },
        error: function (data){ //Erro do back-end
            $("#loading-data").fadeOut();
            $("#form-insert").hide('slow');
            $("#show-alert").html(erro_message());
            scroll_to("#page-content");
        }
    }); 
}

/**
 * Função par abrir o form Insert ou Update de acordo com o parametro
 * 
 * @param string Nome da ação
 * Podendo ser new, erro ou sucess
 */
function show_form(action) {
    if(action == "edit"){ // UPDATE data
        $("#bt_submit").val("Atualizar multa");
        $("#form-insert-multa").attr("action", "{url_base}multa/atualizar");
        $("#form-insert legend").html("<h3>Atualizar dados da multa</h3>");
    }else if(action == "insert"){
        $("#form-insert-multa").attr("action", "{url_base}multa/cadastrar");
        $("#form-insert legend").html("<h3>Cadastrar uma nova multa</h3>");
    }else{
        $("#bt_submit").val("Cadastrar multa");
        $("#form-insert-multa").attr("action", "{url_base}multa/cadastrar"); 
        clear_form();
        $("#form-insert legend").html("<h3>Cadastrar uma nova multa</h3>");
    }
    $("#form-insert").show('slow');
    $(".input1").focus();

    // Analisa se deve colocar a visão no content grid ou deixar no show-alert
    if($("#messege-alert").hasClass("erro") || $("#messege-alert").hasClass("aviso")) {
        // o foco fica na mensagem
    } else {
        scroll_to("#content-datagrid");
    }
}


/*
 * Carrega os dados da multa selecionada para remoção
 */   
function delete_fine(codigo) {
    $("#loading-data").fadeIn();
    
    if(get_code().length > 1){
        $("#codigoDelete").val(get_code());
        $("#nome").val("");
        $("#loading-data").fadeOut();
        $("#inforDel").html('<p>Deseja realmente excluir as Multas selecionadas?<br /><span style="color: #cc0000; font-size: 15px; font-weight: bold;">'  + get_code().length + ' no total.</span> <br />Uma vez excluído não será possível recuperar os dados.');
        open_dialog_delete();
    }else{
        $.ajax({
            url: '{url_base}multa/get_fine_json',
            type:'POST',
            dataType: 'json',
            data: { idMulta: codigo },
            success: function(data){
                $("#loading-data").fadeOut();
                $('#messege-alert').fadeOut();
                $("#form-insert").hide('slow');

                $("#codigoDelete").val(data.multa.id);
                $("#nomeDelete").val(data.multa.usuario.nome + ' ' + data.multa.usuario.sobrenome);
                $("#inforDel").html('<p>Deseja realmente excluir a Multa de código: <span style="font-size: 15px; font-weight: bold;">' + data.multa.id + '</span> aplicada ao usuário: <br /><span style="color: #cc0000; font-size: 15px; font-weight: bold;">' + $("#nomeDelete").val() +'?' + '</span> <br />Uma vez excluído não será possível recuperar os dados.');

                open_dialog_delete();
            },
            error: function (data){ //Erro do back-end
                $("#loading-data").fadeOut();
                $("#form-insert").hide('slow');
                $("#show-alert").html(erro_message());
            }
        });
    }
}

/*
 * DIALOG para confirmar remoção da categoria
 */
function open_dialog_delete() {
    $(".dialog-excluir").dialog({
        height: 195,
        width: 420,
        resizable: false,
        draggable: true,
        modal: true,
        buttons: {
            'Sim': function() {
                $(this).dialog('close');
                $("#form-delete-multa")[0].submit();
            },
            'Não': function() {
                $(this).dialog('close');
            }
        }
    });
}

/*
 * Limpa campos do form
 */
function clear_form(){
    $("#status, #tipo_multa, #valor, #descricao, #codigo, #usuario_id, #usuario, #data_cobranca, #data_pagamento, #data_pagamento_ori, #data_cobranca_ori").val("");
    $('#emprestimo').empty();
    $('.infor_user, .box_infor, .data_pagamento').hide();
    $('.user, .emprestimo').show();
}
</script>
<article>
    <div id="box-search">
        <form id="search" name="search" action="{url_base}multa/buscar/cod/2/{quant_list}">
            <input type="search" name="search_term" class="input_search" placeholder="Buscar multa pelo código, nome do usuário, valor, data da cobrança ou data do pagamento"/>
            <a class="search_refresh" href="{url_base}multa">
                <img title="Atualiza página descartando a busca" align="center" src="<?php echo site_url('assets/img/refresh.png'); ?>"/>
            </a>
        </form>
    </div> 
    <div id="filter_item">
        <i>Quantidade por página:</i>
        <form id="quant_list">
            <?php
            echo form_dropdown('filter_quant', array(10 => '10', 20 => '20', 30 => '30', 50 => '50'), isset($quant_list) ? $quant_list : '', 'class="filter_quant"');
            ?>
        </form>
    </div>
    <div id="datagrid">
        <table>
            <thead>
                <tr>
                    <th><input type="checkbox" value="1" id="select-all" name="select-all" title="Selecionar registros"></th>
                    <th><a href="" class="codigo">Código</a></th>
                    <th><a href="" class="usuario">Usuário multado</a></th>
                    <th><a href="" class="valor">Valor</a></th>
                    <th>Descrição/Informação</th>
                    <th><a href="" class="dta_cobranca">Data da cobrança</th>
                    <th><a href="" class="dta_pagamento">Data do pagamento</th>
                    <th><a href="" class="status">Status</th>
                    <th colspan="2">Ação</th>
                </tr>
            </thead>
            <tfoot>
                <tr>
                    <td colspan="10">
                        <div id="paginacao">
                            <ul class="pagination">
                                {pagination}
                            </ul>
                        </div>
                        <div id="total-register">
                            Total: <?php echo $total_rows > 1 ? $total_rows . ' registros' : $total_rows . ' registro' ?>
                        </div>
                    </td> 
                </tr>
            </tfoot>					
            <tbody>
                <?php if(isset($multas)): foreach ($multas as $multa): ?>
                    <tr class="<?php echo strtolower($multa->get_nome_status()); ?> pointer" ondblclick="get_fine(<?php echo "'" . $multa->id ."'"; ?>)">
                        <td width="10">
                            <input type="checkbox" name="cod[]" value="<?php echo $multa->id ?>" class="codigoId">
                        </td>
                        <td width="60"><?php echo $multa->id ?></td>
                        <td><?php echo $multa->usuario->get_nome_completo(); ?></td>
                        <td>R$ <?php echo $multa->valor; ?></td>
                        <td title="<?php echo $multa->descricao; ?>"><?php echo character_limiter($multa->descricao, 60); ?></td>
                        <td title="<?php echo $multa->data_cobranca != NULL ? data_to_string($multa->data_cobranca) : ''; ?>"><?php echo format_date($multa->data_cobranca); ?></td>
                        <td title="<?php echo $multa->data_pagamento != NULL ? data_to_string($multa->data_pagamento) : ''; ?>"><?php echo $multa->data_pagamento != NULL ? format_date($multa->data_pagamento) : 'Não foi paga ainda'; ?></td>
                        <td><?php echo $multa->get_nome_status(); ?></td>
                        <td width="20">
                            <a title="Editar registro" onclick="get_fine(<?php echo "'" . $multa->id ."'"; ?>)">
                                <img align="center" src="{url_base}/assets/img/edit.png"/>
                            </a>
                        </td>
                        <td width="20">
                            <a title='Excluir registro' onclick="delete_fine(<?php echo "'" . $multa->id ."'"; ?>)">
                                <img align="center" src="{url_base}/assets/img/delete.png"/>
                            </a>
                        </td>
                    </tr>
                <?php endforeach; endif;?> <!-- END loop categorias -->
            </tbody>
        </table>
    </div> <!-- END of #datagrid -->
</article>
<div class="bar_button">
    <a class="button pointer" onclick="show_form();">Cadastrar uma nova multa</a>&nbsp;
    <a id="bt_history" class="button pointer" onclick="get_history_fine();">Histórico financeiro</a>
</div>
<div id="main-content-datagrid" class="form-category">
    <div id="loading-data">
        <img src="{url_base}assets/img/loading.gif" width="220" height="20"/>
    </div>
    <div id="content-datagrid">
        <section id="form-insert">
            <form action="{url_base}multa/cadastrar" id="form-insert-multa" method="post" accept-charset="utf-8">
                <fieldset>
                    <legend><h3>Cadastrar uma nova multa</h3></legend>
                    <div id="content_form">
                        <input type="hidden" name="codigo" id="codigo" value="<?php echo set_value('codigo'); ?>">
                        <p class="hide infor_user"></p>
                        <label>
                            <p>Tipo de multa*:</p>
                            <?php echo form_dropdown('tipo_multa', TOMulta::tipos_multas(), set_value('tipo_multa'), 'id="tipo_multa"'); ?>
                        </label>
                        <label class="user">
                            <p>Usuário*:<i> Digite as iniciais do nome do usuário que deseja aplicar a multa e selecione na lista o desejado.</i></p>
                            <input type="hidden" id="usuario_id" name="usuario_id" value="<?php echo set_value('usuario_id'); ?>"/>
                            <input type="text" class="input1" autofocus name="usuario" id="usuario" value="<?php echo set_value('usuario'); ?>" required/>
                        </label>
                        <label class="emprestimo">
                            <p>Empréstimo*:<i> Selecione na lista abaixo o empréstimo associado ao usuário que deseja aplicar multa.</i></p>
                            <span>
                                <select id="emprestimo" name="emprestimo">
                                    <option value="0">Empréstimos do usuário selecionado para a multa...</option>
                                </select>
                            </span>
                        </label>
                        <label>
                            <p>Valor*:<i> Digite o valor em real da multa</i></p>
                            <input type="text" name="valor" id="valor" placeholder="Valor da multa" value="<?php echo set_value('valor'); ?>" required/>
                        </label>
                        <label>
                            <p>Descrição/Informação*:</p>
                            <textarea name="descricao" id="descricao" rows="5" placeholder="Escreva uma breve descrição do porque a multa está sendo aplicada..." required><?php echo set_value('descricao'); ?></textarea>
                        </label>
                        <label>
                            <p>Data da cobrança*:</p>
                            <input type="hidden" name="data_cobranca_ori" id="data_cobranca_ori" value="<?php echo set_value('data_cobranca_ori'); ?>"/>
                            <input type="text" name="data_cobranca" id="data_cobranca" value="<?php echo set_value('data_cobranca'); ?>" class="input_date" placeholder="Data em que a cobrança foi efetuada" required/>
                        </label>
                        <label>
                            <p>Status*: | <i>Se a multa foi paga salve como <b>INATIVA</b> e selecione a data do pagamento.</i></p>
                            <?php echo form_dropdown("status", array(1 => "Ativa (a pagar)", 0 => "Inativa (paga)"), set_value('status'), "id='status'"); ?>
                        </label>
                        <label class="hide data_pagamento">
                            <p>Data do pagamento*:</p>
                            <input type="hidden" name="data_pagamento_ori" id="data_pagamento_ori" value="<?php echo set_value('data_pagamento_ori'); ?>"/>
                            <input type="text" name="data_pagamento" id="data_pagamento" value="<?php echo set_value('data_pagamento'); ?>" class="input_date" placeholder="Data em que o pagamento da multa foi efetuado"/>
                            <br /><br /> 
                        </label>
                        <input type="submit" value="Cadastrar Empréstimo" id="bt_submit" class="button">&nbsp;
                        <a id="bt_cancel" class="button pointer">Cancelar</a>
                    </div>
                </fieldset>
            </form>
        </section>
        <section class="box_infor hide">
            <div>
                <header><h2>Histórico das multas aplicadas</h2></header>
                <h3>VALORES <span class="fine_up">ARRECARDADOS</span> (Multas pagas)  |  <span class="fine_alert">A RECEBER</span> (Multas que não foram pagas ainda)</h3>
                <div class="infor_content">
                <table>
                    <thead>
                        <tr>
                            <th width="10">Ano</th>
                            <th></th>
                            <th>Jan</th>
                            <th>Fev</th>
                            <th>Mar</th>
                            <th>Abr</th>
                            <th>Mai</th>
                            <th>Jun</th>
                            <th>Jul</th>
                            <th>Ago</th>
                            <th>Set</th>
                            <th>Out</th>
                            <th>Nov</th>
                            <th>Dez</th>
                            <th class="total_fine">Total</th>
                        </tr>
                    </thead>
                    <tfoot>
                        <tr>
                            <td colspan="16">
                                <p>Total arrecardado:<span class="total_pago"></span></p>
                                <p>Total ainda não pago:<span class="total_nao_pago"></span></p><br />
                                <p>Periodo de: <i><span class="periodo"></span></i></p>
                            </td>
                        </tr>
                    </tfoot>
                    <tbody></tbody>
                </table>
            </div>
        </section>

        <section id="form-delete">
            <div class="dialogModal dialog-excluir">
                <h2>Atenção!</h2>
                <div id="inforDel"></div>    
            </div>
            <form action="{url_base}multa/excluir" id="form-delete-multa" method="post" accept-charset="utf-8">
                <input type="hidden" id="codigoDelete" name="codigoDelete"/>
                <input type="hidden" id="nomeDelete" name="nomeDelete"/>
            </form>
        </section>
    </div> <!-- END of #content-datagrid -->
</div> <!-- END of #main-content-datagrid -->
